
#ifndef	COMMON_ALIGNED_HEAP_H
#define	COMMON_ALIGNED_HEAP_H


#include "common.h"


namespace	common
{
	class	aligned_heap
	{
	public:

		aligned_heap();
		~aligned_heap();

		bool	create( DWORD options );
		void	destroy();

		void*	alloc( size_t size, size_t alignment );
		bool	free( void* p );

		size_t	compact();

	private:

		HANDLE	heap_;

	};
}




#endif